package com.luzhikun.project;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

/**
 * 请求转发：
 * A 浏览器只发出一次请求，受到一次响应
 * B 请求所转发的资源中可以直接获取到请求中所携带的所有参数
 * C 浏览器地址栏显示的为用户所提交的请求路径
 * D 只能跳转到当前应用的资源中
 * <p>
 * 重定向：
 * A 浏览器发送两次请求，接收两次响应
 * B 重定向的资源不能直接获取到请求中所携带的所有参数
 * C 浏览器显示的是重定向的请求路径，而非用户所提交的请求路径，也正因为如此，重定向的一个重要作用就是
 * 防止表单重复提交
 * D 重定向不仅可以跳转到当前应用的其他资源，还可以跳转到其他应用中资源
 * <p>
 * <p>
 * 请求转发与重定向的选择
 * 1.若需要跳转到其他应用，则使用重定向
 * 2.若是处理表单数据的Servlet要跳转到其他Servlet，则需要使用重定向，为了防止表单重复提交
 * 3.如果针对某一请求进行处理的Servlet的执行需要消耗大量的服务器资源(CPU.内存)，此时这个Servlet执行完毕后，也需要重定向
 * 4.其他情况，一般使用请求转发
 */


public class SomeProject extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("执行SomeProject");

        resp.sendRedirect("/10_thetwoproject_war_exploded/other ");

    }
}
